// Package entry
// @Author: zhangdi
// @File: first
// @Version: 1.0.0
// @Date: 2023/7/7 13:27
package main

import (
	_ "embed"
	"ideatools/application/pkgs/utils"
	"ideatools/setting"
	"io/ioutil"
	"os"
	"path/filepath"
)

//go:embed demo.db
var embeddedDBFile []byte

// copyDatabaseFile 是一个函数，用于复制数据库文件
func copyDatabaseFile(dstPath string, srcData []byte) error {
	// 获取目标文件夹路径
	dstDir := filepath.Dir(dstPath)

	// 判断目标文件夹是否存在，如果不存在则创建
	if _, err := os.Stat(dstDir); os.IsNotExist(err) {
		err := os.MkdirAll(dstDir, 0755)
		if err != nil {
			return err
		}
	}

	// 判断目标文件是否已存在，如果存在则直接返回
	if _, err := os.Stat(dstPath); err == nil {
		return nil
	}

	// 将源数据写入目标文件
	if err := ioutil.WriteFile(dstPath, srcData, 0644); err != nil {
		return err
	}

	return nil
}

func get_current_time() {

}

func initDbData() {
	dstPath := filepath.Join(utils.GetUserHomeDir(), setting.ProjectName, "data.db")
	// 复制数据库文件
	if err := copyDatabaseFile(dstPath, embeddedDBFile); err != nil {
		panic(err)
	}
}
